package com.moli.iov.admin.model.vo.req;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.moli.iov.util.DateUtil;
import java.io.Serializable;
import java.text.ParseException;
import java.util.Date;
import java.util.List;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;

/**
 * <p>
 * 命令日志查询DTO
 * </p>
 *
 * @author zql
 * @since 2019/9/19 14:46
 */
@Slf4j
@Data
public class CommandQueryVo extends BaseVo implements Serializable {

  private static final long serialVersionUID = -4392845138453147699L;

  /**
   * 命令日志id
   */
  private String id;

  /**
   * ids
   */
  private List<String> ids;

  /**
   * 车架号
   */
  private String vin;

  /**
   * 车牌号
   */
  private String license;

  /**
   * 公司id
   */
  private Long companyId;

  /**
   * 操作类型集合
   */
  private List<Integer> operateTypes;

  /**
   * 结果:1、成功 2、失败
   */
  private Integer result;

  /**
   * 开始时间
   */
  @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
  private Date beginTime;

  /**
   * 结束时间
   */
  @JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
  private Date endTime;

  public void setBeginTime(Date beginTime) {
    try {
      if(beginTime == null){
        return;
      }
      String beginStr =
          DateUtil.format(DateUtil.YEAR_DAY, beginTime) + " 00:00:00";
      this.beginTime = DateUtil.parser(DateUtil.YEAR_SECOND, beginStr);
    } catch (ParseException e) {
      log.error("开始时间 error", e);
    }
  }

  public void setEndTime(Date endTime) {
    try {
      if(endTime == null){
        return;
      }
      String endStr = DateUtil.format(DateUtil.YEAR_DAY, endTime) + " 23:59:59";
      this.endTime = DateUtil.parser(DateUtil.YEAR_SECOND, endStr);
    } catch (ParseException e) {
      log.error("结束时间 error", e);
    }
  }
}
